﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
using UwinEducation.Shared.Converters;
using UwinEducation.Shared.Enums;

namespace UwinEducation.Shared.Models
{
    public class TeacherSchedulePageRequest: PageRequest
    {
        /// <summary>
        /// 教师ID
        /// </summary>
        public Guid? TeacherId { get; set; }

        /// <summary>
        /// 学生ID
        /// </summary>
        public Guid? StudentId { get; set; }

        /// <summary>
        /// 课程组ID
        /// </summary>
        public Guid? GroupId { get; set; }

        /// <summary>
        /// 课程ID
        /// </summary>
        public Guid? CourseId { get; set; }

        /// <summary>
        /// 教室ID
        /// </summary>
        public Guid? ClassroomId { get; set; }

        /// <summary>
        /// 课程类型
        /// </summary>
        public CourseType? CourseType { get; set; }

        /// <summary>
        /// 上课时间
        /// </summary>
        [JsonConverter(typeof(CustomDateTimeConverter))]
        public DateTime? StartDate { get; set; }

        /// <summary>
        /// 下课时间
        /// </summary>
        [JsonConverter(typeof(CustomDateTimeConverter))]
        public DateTime? EndDate { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string? Remarks { get; set; }
    }

    //统计分页请求参数

    public class TeacherScheduleStatisticsPageRequest : PageRequest
    {
        /// <summary>
        /// 教师ID
        /// </summary>
        public Guid? TeacherId { get; set; }

        /// <summary>
        /// 组ID
        /// </summary>
        public Guid? GroupId { get; set; }
        /// <summary>
        /// 课程ID
        /// </summary>

        public Guid? CourseId { get; set; }

        /// <summary>
        /// 上课时间
        /// </summary>
        [JsonConverter(typeof(CustomDateTimeConverter))]
        public DateTime? StartDate { get; set; }
        /// <summary>
        /// 下课时间
        /// </summary>
        [JsonConverter(typeof(CustomDateTimeConverter))]
        public DateTime? EndDate { get; set; }
    }



}
